package org.scub.foundation.fournisseur.egicom.core.dto;

import java.io.Serializable;
import java.util.Date;

import net.sf.oval.constraint.NotBlank;
import net.sf.oval.constraint.NotNull;

import org.scub.foundation.framework.base.dto.AbstractDto;
import org.scub.foundation.framework.base.oval.constraint.EachObjectValid;

/**
 * DTO contenant les informations d'un fournisseur.
 * @author Equipe E-GICOM
 */
public class FournisseurDto extends AbstractDto implements Serializable {

    private static final long serialVersionUID = 7728546857440718715L;

    private Integer id;

    @NotNull
    @NotBlank
    private String nom;

    @NotNull
    @NotBlank
    private String prenom;

    @NotNull
    @NotBlank
    private String email;

    @NotNull
    @NotBlank
    private String adresse;

    @NotNull
    @NotBlank
    private String telephone;

    @NotNull
    @NotBlank
    private Date dateNaissance;

    @NotNull
    @NotBlank
    private String sexe;

    @NotNull
    private Integer numCompteBanquaire;

    @NotNull
    @EachObjectValid
    private CompteDto compte;

    /**
     * Get the value of idCompte.
     * @return the idCompte
     */
    public Integer getId() {
        return id;
    }

    /**
     * Set the value of idCompte.
     * @param id the idCompte to set
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Get the value of nom.
     * @return the nom
     */
    public String getNom() {
        return nom;
    }

    /**
     * Set the value of nom.
     * @param nom the nom to set
     */
    public void setNom(String nom) {
        this.nom = nom;
    }

    /**
     * Get the value of prenom.
     * @return the prenom
     */
    public String getPrenom() {
        return prenom;
    }

    /**
     * Set the value of prenom.
     * @param prenom the prenom to set
     */
    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }

    /**
     * Get the value of telephone.
     * @return the telephone
     */
    public String getTelephone() {
        return telephone;
    }

    /**
     * Set the value of telephone.
     * @param telephone the telephone to set
     */
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    /**
     * Return the value of dateNaissance.
     * @return the dateNaissance
     */
    public Date getDateNaissance() {
        return dateNaissance;
    }

    /**
     * Modify the value of dateNaissance.
     * @param dateNaissance the dateNaissance to set
     */
    public void setDateNaissance(Date dateNaissance) {
        this.dateNaissance = dateNaissance;
    }

    /**
     * Get the value of emails.
     * @return the emails
     */
    public String getEmail() {
        return email;
    }

    /**
     * Set the value of email.
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * Get the value of emails.
     * @return the emails
     */
    public String getAdresse() {
        return adresse;
    }

    /**
     * Set the value of adresse.
     * @param adresse the adresse to set
     */
    public void setAdresse(String adresse) {
        this.adresse = adresse;
    }

    /**
     * Get the value of emails.
     * @return the emails
     */
    public String getSexe() {
        return sexe;
    }

    /**
     * Set the value of sexe.
     * @param sexe the sexe to set
     */
    public void setSexe(String sexe) {
        this.sexe = sexe;
    }

    /**
     * Get the value of emails.
     * @return the emails
     */
    public Integer getNumCompteBanquaire() {
        return numCompteBanquaire;
    }

    /**
     * Set the value of umCompteBanquaire.
     * @param numCompteBanquaire the numCompteBanquaire to set
     */
    public void setNumCompteBanquaire(Integer numCompteBanquaire) {
        this.numCompteBanquaire = numCompteBanquaire;
    }

    /**
     * Get the value of emails.
     * @return the emails
     */
    public CompteDto getCompte() {
        return compte;
    }

    /**
     * Set the value of compte.
     * @param compte the compte to set
     */
    public void setCompte(CompteDto compte) {
        this.compte = compte;
    }
}
